package com.ciei.dpagm.common.enums;

/**
 * 表单组件类型枚举
 * @author wangyan
 * @date 2022/06/01
 */
public enum FormComponentTypeEnum {

    /**
     * 单行文本
     */
    INPUT(1, "单行文本"),

    /**
     * 多行文本
     */
    TEXTAREA(2, "多行文本"),

    /**
     * 密码
     */
    PASSWORD(3, "密码"),

    /**
     * 计数器
     */
    COUNTER(4, "计数器"),

    /**
     * 下拉选择
     */
    SELECT(5, "下拉选择"),

    /**
     * 级联选择
     */
    CASCADE(6, "级联选择"),

    /**
     * 单选框组
     */
    RADIO(7, "单选框组"),

    /**
     * 多选框组
     */
    CHECKBOX(8, "多选框组"),

    /**
     * 开关
     */
    SWITCH(9, "开关"),

    /**
     * 滑块
     */
    SLIDER(10, "滑块"),

    /**
     * 时间选择
     */
    TIME_PICKER (11, "时间选择"),

    /**
     * 时间范围
     */
    TIME_RANGE(12, "时间范围"),

    /**
     * 日期选择
     */
    DATE_PICKER(13, "日期选择"),

    /**
     * 日期范围
     */
    DATE_RANGE(14, "日期范围"),

    /**
     * 评分
     */
    RATE(15, "评分"),

    /**
     * 颜色选择
     */
    COLOR_PICKER(16, "颜色选择"),

    /**
     * 时间计算
     */
    TIME_COMPUTED(17, "时间计算"),

    /**
     * 数字
     */
    INPUT_NUMBER(18, "数字");


    private Integer typeId;
    private String description;

    FormComponentTypeEnum(Integer typeId, String description) {
        this.typeId = typeId;
        this.description = description;
    }

    public Integer getTypeId() {
        return typeId;
    }

    public String getDescription() {
        return description;
    }

    public static FormComponentTypeEnum getEnumByValue(int value) {
        for (FormComponentTypeEnum formValueTypeEnum : values()) {
            if (formValueTypeEnum.typeId == value) {
                return formValueTypeEnum;
            }
        }
        return null;
    }

}
